
package com.yyn.client2.config;

import lombok.Data;

import java.util.HashMap;
import java.util.Map;

@Data
public class R {
    private boolean success;
    private int code;
    private String message;
    private Map<String, Object> data = new HashMap<String,Object>();
    //    构建一个私有化的方法
    //构建无参私有化后 该方法在外面就不能new了只能用该方法中定义的方法
    private R(){}
    //    构建公有化的静态方法 成功
    public static R success(){
        R r= new R();
        r.setSuccess(true);
        r.setCode(ResultCode.SUCCESS);
        r.setMessage("成功");
        return r;
    }
    //    构建公有化的静态方法 失败
    public static R error(){
        R r= new R();
        r.setSuccess(true);
        r.setCode(ResultCode.ERROR);
        r.setMessage("失败");
        return r;
    }
//    链式编程 success().error().message()
    public R success(Boolean success){
        this.setSuccess(success);
        return this;
    }
    public R code(int code){
        this.setCode(code);
        return this;
    }
    public R message(String message){
        this.setMessage(message);
        return this;
    }
    public R data(String key,Object value){
        this.data.put(key, value);
        return this;
    }
    public R data(Map<String,Object> map){
        this.setData(map);
        return this;
    }
}
